非常风气网www.verywind.cn
首页
int a[10]={ }哪里错了
C++中
int
a[]={}
可以这么写吗?
答:
这与编译器以及编译器支持的c++标准有关。在有的编译器上:
int
a[]={}
;int b[0];int c[0]={};都是可以的。这其实就是定义了一个零长度的数组。下面是一个例子:include <iostream> using namespace std;int main(){ int a[]={},b[0],c[0]={};cout<<"可以的"<<endl;cout<<"...
int
*p,
a[10]
; p=&a 为什么非法
答:
类型不匹配。改为:
int
(*p)[10],
a[10]
;p=&a; //这样p的类型与&a的类型就一致了。
int
a[10];和 int
a[10]={
0};有什么区别?表示的是不是都是全部数组元素...
答:
前者只是定义,其值不可预料;后者是全部数组元素置零。
#include <stdio.h> void main() {
int
i,
a[10]={
1}; for(i=0; i<=...
答:
include <stdio.h> void main(){
int
i,
a[10]={
1};for(i=0; i<=9 ;i++){ printf("%d",a[i]);} } 还是这个样子看着舒服。。a[10]是一个数组。而你用{1}仅仅将第一个赋值,其余的都没有,默认为零的。
int
a[
][
]={
{3,2,1},{1,2,3}}; 数组初始化
哪里错了
?
答:
确实是
错误
的,多维数组初始化时,只有最高维不用显式给出,其他维都是必须的。就你给的例子来看,编译器可以统计出数据有6个,但是生成2行3列呢,还是3行2列呢?还是其他自合呢?这就产生了多义性。
在C语言中
int
a[]={}
; 这样可以吗? 试了下编译不报错。请问这是什么...
答:
这样是不可以的,编译器会不知道给这个数组分配多大的空间,只能
int
a[2
]={}
;或者int
a[]={
0,0};
C语言数组
int
a[]={
1,2}; 这样有错吗
答:
这样没有错,这样声明后数组a的大小为2,在后面没有初始化列表的情况下,一般是不能省略的。
...
int
main () { int
a[10]
[11
]={
{0,1
}}
; printf("%d\t",a[8][0...
答:
首先你的第一步你初始化了[0][0-
10]
数组为 0,1,0 ,0直到第10个元素。其他1-9个数组你并没有初始化,导致程序自己从对应记忆体取值,这个值是你随机,你没法控制!!
int
a[
][3
]={
{1,0,1}, { },{1,1
}
}那里
错了
?
答:
错误
有3:初始化数组时,右表达式若用{}括起来则不能为空。所以中间的{}中至少得有一个数,如{2}、{2,}或{2,3}、{2,5,8}等,就是不能是{}。你那些逗号好像都是汉字的,必须改成英文逗号。最后的}后没有分号这也不行,分号是C/C++语句的一部分,该有的地方必须有。
设
int[10]={
1,2,3},则*(a+3)值等于
答:
我就当你这个为
int
a 【
10
】={1,2,3};回答 这个会把a【0】,
a[
1],a[2] 分别赋值为 1 , 2, 3 然后的a[3]~a[9]会自动赋值为0 a为a[0]的地址 又因为数组的空间是连续的 所以a+3就是a[3]的地址 * 是去地址符号 也就是把对应地址的值取出来 所以*(a+3)也...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
你可能感兴趣的内容
本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
©
非常风气网